home *** CD-ROM | disk | FTP | other *** search
/ Power Programmierung / Power-Programmierung (Tewi)(1994).iso / magazine / pcmagazi / 1989 / 18 / scrntest.pas < prev    next >
Pascal/Delphi Source File  |  1989-09-18  |  1KB  |  57 lines

  1. scrntest.pas
  2.  
  3.  
  4. PROGRAM ScrnDumpTest;
  5. { Author: Thomas L. Bregante, 1988 }
  6.  
  7. USES
  8.   Crt,
  9.   Graph,
  10.   ScrnDump; {ScrnDump uses the Graph Unit}
  11.  
  12. VAR
  13.   GraphDriver, GraphMode : Integer;
  14.   X, Y, MaxX, MaxY : Integer;
  15.   I, ErrorCode : Integer;
  16.   Ch : Char;
  17.   PrinterType : Byte;
  18.  
  19. BEGIN
  20.   Clrscr;
  21.   WriteLn('1  Epson FX Printer');
  22.   WriteLn('2  IBM Graphics Printer');
  23.   WriteLn('3  IBM Proprinter');
  24.   WriteLn;
  25.   Write('What Type of printer do you have (1, 2 or 3) ? ');
  26.   X := WhereX;
  27.   Y := WhereY;
  28.   REPEAT
  29.     GotoXY(X, Y);
  30.     Ch := ReadKey;
  31.     Write(Ch);
  32.   UNTIL (Ch > '0') AND (Ch < '4');
  33.   CASE Ch OF
  34.     '1' : PrinterType := EpsonFx;
  35.     '2' : PrinterType := IBMGR;
  36.     '3' : PrinterType := IBMPRO;
  37.   END;                            {Case}
  38.   GraphDriver := Detect;
  39.   InitGraph(GraphDriver, GraphMode, '');
  40.   ErrorCode := GraphResult;
  41.   IF ErrorCode <> GrOK THEN
  42.     BEGIN
  43.       WriteLn;
  44.       WriteLn('ERROR: ',GraphErrorMsg(ErrorCode));
  45.       Halt;
  46.     END;
  47.   MaxX := GetMaxX;
  48.   MaxY := GetMaxY;
  49.   FOR I := 0 TO 9 DO              {draw boxes}
  50.     Rectangle(10*I, 10*I, MaxX-10*I, MaxY-10*I);
  51.   SetTextStyle(DefaultFont, HorizDir, 1);
  52.   OutTextXY(250, MaxY DIV 2, 'Add Some Text and Dump');
  53.  
  54.   ScrDmp(PrinterType);            { Dump It }
  55.   CloseGraph;
  56. END.
  57.